This rule applies whenever an if
statement is followed by one or more elsif
statements; the final elsif
should be followed by an else
statement.
The requirement for a final else
statement is defensive programming.
The else
statement should either take appropriate action or contain a suitable comment as to why no action is taken. This is
consistent with the requirement to have a final else
clause in a case
statement.
Noncompliant code example
if x == 0
doSomething
elsif x == 1
doSomethingElse
end
Compliant solution
if x == 0
doSomething
elsif x == 1
doSomethingElse
else
raise 'An error has occured'
end
Exceptions
When all branches of an if
-else if
end with return
, break
or throw
, the code that
comes after the if
implicitly behaves as if it was in an else
clause. This rule will therefore ignore that case.